
package com.imu.purse.modules.app.entity;


import java.util.Date;

import javax.persistence.*;
import javax.validation.constraints.NotNull;

import com.imu.common.validator.group.UpdateGroup;
import com.imu.core.base.BaseEntity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;


/**
 * 用户信息
 * 
 * @author sunhongwei
 * @email sunhongwei@jshijian.com
 * @date 2018-03-21 10:11:22
 * Copyright (c) 2017 武汉极时间科技有限公司 版权所有 
 * Jshijian aloha CO.,LTD. All Rights Reserved. 
 */
@Data
@Table(name = "imu_user")
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
public class ImuUserEntity extends BaseEntity
{
	private static final long serialVersionUID = 1L;
	
	//主键ID
	@Id
	@Column(name="id")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@NotNull(message="主键不存在无法更新", groups = {UpdateGroup.class})
	private Long id;
	
	//昵称
	@Column(name="nick_name")
	private String nickName;
	
	//-1未知0女1男
	@Column(name="gender")
	private Integer gender;
	
	//生日
	@Column(name="birthday")
	private Date birthday;
	
	//家庭地址
	@Column(name="address")
	private String address;
	
	//状态 0 禁用 1 可用
	@Column(name="state")
	private Integer state;
	
	//头像
	@Column(name="photo")
	private String photo;
	
	//个人介绍
	@Column(name="summary")
	private String summary;
	
	//手机号(默认登录)
	@Column(name="phone")
	private String phone;
	
	//用户名
	@Column(name="user_name")
	private String userName;
	
	//真实姓名
	@Column(name="real_name")
	private String realName;
	
	//身份证号
	@Column(name="card_no")
	private String cardNo;
	
	//身份识别码
	@Column(name="ident_code")
	private String identCode;
	
	//认证状态(0未认证1认证中2成功-1失败)
	@Column(name="auth_state")
	private Integer authState;
	
	//密码
	@Column(name="pwd")
	private String pwd;
	
	//支付密码
	@Column(name="pay_pwd")
	private String payPwd;
	
	//在线状态(1在线, 0下线)
	@Column(name="on_line")
	private Integer onLine;
	
	/*//余额
	@Column(name="money")
	private BigDecimal money;
	
	//锁定金额
	@Column(name="lock_money")
	private BigDecimal lockMoney;*/
	
	//创建人
	@Column(name="user_create")
	private Long userCreate;
	
	//新增时间
	@Column(name="time_create")
	private Date timeCreate;
	
	//修改人
	@Column(name="user_update")
	private Long userUpdate;
	
	//修改时间
	@Column(name="time_update")
	private Date timeUpdate;
	
	//盐
	@Column(name="salt")
	private String salt;

	//状态 0 禁用 1 可用
	@Column(name="state_trans")
	private Integer statetrans;

	//接受短信的手机号码
	@Column(name = "inter_phone")
	private String interPhone;
}
